English

万众瞩目“千年虫”

1998-12-31 来源:文摘报  我有话说
“千年虫”已经开始骚扰人们的生活了。

美国一位104岁(1894年出生)的老太太突然收到户籍机构的电脑发来的幼儿园入学通知单。在电脑数据库中,没有“18”两字,电脑便认定她1994年出生,年龄4岁。

日期作为一种特殊的数据,在计算机系统中起着不可缺少的作用。目前的计算机由于只使用了两位十进制数来表示年份,当日期从1999年12月31日进入2000年1月1日后,系统将无法正常识别由“00”表示的2000年这一年份,而将其解释为“1900”年,从而引发一系列问题。

1.计算和排序等操作会发生错误。比如,程序以900226来代表1990年2月26日,以910101来代表1991年1月1日,比较910101与900226这两个数目的大小会得到正确的结果。2000年1月1日的表示方式是00010l,这个数字和上两个数字比较大小就会得出错误的结果。

2.在很多系统中,字符串“00”或“99”被赋予了特殊的意义。80年代,程序编写员常常以99或是99/99/99来表示永久储存的意思。这样一来,许多电脑磁带中的资料在1999年或1/1/2000时会过期。

对于我们来说,1999年9月9日已不是遥远的未来,那些存档资料的命运将如何?

3.闰年问题。电脑上自动计算闰年的方法,是把年份除以4,如果能被整除的话,就是闰年;如果年份的最后两位数字是00,则除以400。

2000年是闰年,有2月29日,但1900年却不是闰年。电脑如果把2000年当成是1900年的话,接下来的日期就全错了。

1995年7月31日,来自美国的一则报道:

“我拿到我的驾照,有效日期为7月31日,1900年。我的新驾照难道95年前就过期了吗?工作人员说,他们将有效年限改为2000年。过了50分钟,工作人员道歉说,电脑系统没有办法输入2000年。”

当新世纪即将来临之际,计算机专家们才如梦方醒:由于对30多年来日积月累的“小毛病”掉以轻心,它已变成上亿颗“时间炸弹”,必须在短期内拆除它们的引信!

然而,不用等到2000年1月1日,第一批受害者可能就已经趴下了!

(《决战千年虫———人类所面临的计算机2000年问题》包晓闻编著中国物资出版社出版)

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有